-
Notifications
You must be signed in to change notification settings - Fork 69
all: port boring changes from pbss #27176 #1158
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
all: port boring changes from pbss #27176 #1158
Conversation
0b7044a to
a928654
Compare
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR ports preparatory changes from ethereum#27176 to support path-based state storage (PBSS). The changes refactor the trie database architecture to introduce a backend interface pattern, separating the hash-based implementation from the core database wrapper.
Changes:
- Introduces a backend interface pattern for trie databases with a new wrapper layer
- Moves NodeSet structures from
triepackage to newtrie/trienodepackage - Renames package from
trietohashdbfor hash-based database implementation - Updates API signatures: adds
rootandparentparameters to Update method, renames interface methods to be exported
Reviewed changes
Copilot reviewed 26 out of 26 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| trie/trienode/node.go | New file containing NodeSet and MergedNodeSet structures moved from trie package |
| trie/database_wrap.go | New database wrapper providing backend abstraction layer for different trie schemes |
| trie/triedb/hashdb/database.go | Package renamed from trie to hashdb, removed preimage handling, updated API signatures |
| trie/nodeset.go | Deleted - functionality moved to trie/trienode package |
| trie/trie_test.go | Updated to use new API with root/parent parameters and trienode package imports |
| trie/trie.go | Updated to use trienode.NodeSet and new Update signature |
| trie/tracer.go | Updated to use exported method names and trienode package |
| trie/committer.go | Updated to use trienode.NodeSet and exported method names |
| trie/trie_reader.go | Updated Reader method name from GetReader |
| trie/secure_trie.go | Updated return type to trienode.NodeSet |
| core/state/statedb.go | Updated to use trienode.NewMergedNodeSet and new Update signature |
| core/state/state_object.go | Updated CommitTrie to return trienode.NodeSet |
| core/blockchain.go | Changed from CommitPreimages to Close for cleanup |
| XDCx/XDCxlending | Updated to use new API signatures with root/parent parameters |
| internal/ethapi/trie_proof.go | Fixed to initialize database for trie |
| core/rawdb/schema.go | Added helper functions for path-based trie node identification |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
0ebd656 to
18144d6
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 26 out of 26 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| } | ||
| if len(chain.stateCache.TrieDB().Nodes()) > 0 { | ||
| if nodes, _ := chain.TrieDB().Size(); nodes > 0 { | ||
| t.Fatalf("stale tries still alive after garbase collection") |
Copilot
AI
Jan 21, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The spelling "garbase" is incorrect and should be "garbage".
| t.Fatalf("stale tries still alive after garbase collection") | |
| t.Fatalf("stale tries still alive after garbage collection") |
* all: port boring changes from pbss * core, trie: address comments from martin * trie: minor fixes * core/rawdb: update comment * core, eth, tests, trie: address comments * tests, trie: add extra check when update trie database * trie/triedb/hashdb: degrade the error to warning
18144d6 to
b0f8a8b
Compare
Proposed changes
Ref: ethereum#27176
Types of changes
What types of changes does your code introduce to XDC network?
Put an
✅in the boxes that applyImpacted Components
Which part of the codebase this PR will touch base on,
Put an
✅in the boxes that applyChecklist
Put an
✅in the boxes once you have confirmed below actions (or provide reasons on not doing so) that